-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix minor HYPRE and ADIOS2 compilation issues #3022
Conversation
Caused linking issues. Also put used function in an anonymous namespace to prevent future linking issues
Also default to off
Usually installed under `usr/include/hypre` (or similar) for system packages
Hmm, more problems with 3D metrics and the Hypre laplacians. Guess I'll have to build that config locally to fix them all. |
It would be great to fix that, but I think disabling hypre with 3D is also fine. Hypre is often used - but only via PETSc, so that should be fine ... So adding a configure time error should be fine ... |
I think it's mostly just making some types |
I have it fixed, so that it compiles. |
Fixes #2701 |
Saved to dmp files by the Laplacian savePerformance monitor. If the savePerformance() method is called to enable outputs, the mean solver and AMG iterations, and the final residual, are saved as time-varying scalars.
Default was "parallel_dirichlet", but no boundary is registered with that name. Changed to "parallel_dirichlet_o2".
Calling `phiSolver->savePerformance(...)` causes performance (e.g. iteration count) diagnostics to be saved to the output file. hypre input did have the wrong parallel transform, boundary conditions that have not been implemented. Now uses hypre3d as the phiSolver.
The combination doesn't yet work, so disable for now.
Add `override` keyword to squash warning.
- Mesh variable names are case sensitive - mpirun needs ./ to find executable on some systems
Calls a Hypre function to print the matrix elements.
Failing test is probably because ADIOS2 is missing from |
* next: Prefer scientific notation Prefer scientific notation Prefer scientific notation Prefer scientific notation Prefer scientific notation pvpre library should link against pvode Update some copyright notices Replace finite() with std::isfinite() Use non-deprecated values also in input files update input files for deprecated options. Revert "update input files for deprecated options." update input files for deprecated options. Deprecate options that only use as default for other options.
Failing on Full error message:
|
The test turns out to be failing because the solver wasn't converging. Switching The default HYPRE solver is |
Using the default `bicgstab` caused the test to not converge
Still having a weird issue with the coverage build |
Think this has finally fixed the issues I was originally trying to fix! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks 👍
@@ -190,9 +190,12 @@ endif() | |||
message(STATUS "NetCDF support: ${BOUT_USE_NETCDF}") | |||
set(BOUT_HAS_NETCDF ${BOUT_USE_NETCDF}) | |||
|
|||
option(BOUT_USE_ADIOS2 "Enable support for ADIOS output" ON) | |||
option(BOUT_USE_ADIOS2 "Enable support for ADIOS output" OFF) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer if such feature would be automatically enabled if they are found.
It turns out we're not building HYPRE on CI at all, and we're silently not actually using ADIOS2, and that's let a couple of compilation issues creep in.
This fixes the compilation and CI issues (hopefully).